<ng-template #template>
  <div role="presentation" [class]="question.getItemClass(model)" #container>
    <ng-container [ngSwitch]="inputType">
      <label *ngSwitchCase="'checkbox'" [class]="question.getLabelClass(model)" [model]="model" [question]="question"
        sv-ng-checkbox-item [ariaLabel]="ariaLabel">
        <ng-container *ngTemplateOutlet="itemDecorator"></ng-container>
      </label>
      <label *ngSwitchCase="'radio'" (mousedown)="question.onMouseDown()" [class]="question.getLabelClass(model)"
        [model]="model" [question]="question" sv-ng-radiogroup-item [ariaLabel]="ariaLabel">
        <ng-container *ngTemplateOutlet="itemDecorator"></ng-container>
      </label>
    </ng-container>
    <ng-template #itemDecorator>
      <span *ngIf="question.cssClasses.materialDecorator" [class]="question.cssClasses.materialDecorator">
        <svg *ngIf="question.itemSvgIcon" [class]="question.cssClasses.itemDecorator">
          <use [attr.xlink:href]="question.itemSvgIcon"></use>
        </svg>
      </span>
      <span [class]="question.getControlLabelClass(model)" *ngIf="!model.hideCaption">
        <sv-ng-string [model]="model.locText"></sv-ng-string>
      </span>
    </ng-template>
  </div>
  <sv-ng-panel *ngIf="model.isPanelShowing" [model]='model.panel'></sv-ng-panel>
  <div *ngIf="model.isCommentShowing" [class]="question.getCommentAreaCss(true)" [question]="question" [item]="model" sv-ng-comment-choice></div>
</ng-template>